شرکت فناوری اطلاعات چینگدو
خانه>محصولات>بسته پروتکل ارتباطات ModBus
بسته پروتکل ارتباطات ModBus
پروتکل Modbus یک پروتکل ارتباطات عمومی است که به طور گسترده ای در زمینه کنترل صنعتی امروز مورد استفاده قرار گرفته است و اینگستر بسته های پشتیبانی از ا
جزئیات محصولات

پروتکل ارتباطات ModBus

پروتکل Modbus یک پروتکل ارتباطی عمومی است که به طور گسترده ای در زمینه کنترل صنعتی امروز استفاده می شود. از طریق این پروتکل، کنترلرها می توانند با یکدیگر یا از طریق شبکه (مانند اترنت) با سایر دستگاه ها ارتباط برقرار کنند. پروتکل Modbus از تکنولوژی ارتباطات اصلی استفاده می کند، یعنی به طور فعال توسط دستگاه اصلی پرس و جو و عملیات از دستگاه. پروتکل‌هایی که توسط دستگاه‌های اصلی استفاده می‌شوند، Modbus Master نامیده می‌شوند و پروتکل‌هایی که توسط دستگاه‌های اصلی استفاده می‌شوند، Modbus Slave نامیده می‌شوند. تجهیزات اصلی معمولی شامل کنترل کننده های صنعتی و کنترل کننده های صنعتی است. از دستگاه های معمولی مانند PLC کنترلر قابل برنامه ریزی و غیره. رابط فیزیکی ارتباطات Modbus می تواند پورت سریالی (از جمله RS232 و RS485) یا پورت اترنت را انتخاب کند. ارتباطات آنها فرآیند زیر را دنبال می کنند:

• ارسال درخواست از دستگاه اصلی به دستگاه

تجزیه و تحلیل و پردازش درخواست از دستگاه اصلی و سپس ارسال نتایج به دستگاه اصلی

در صورت وقوع هر گونه خطا، یک کد غیر معمولی از دستگاه بازگردانده می شود


پروتکل ارتباطات ModBus

محصولات نرم افزاری پروتکل ارتباطات ModBus ارائه شده توسط شرکت اینگشنگ عمدتا در محیط مادربورد جاسازی شده ARM9 اینگشنگ استفاده می شود، مادربورد های کنترل شده اینگشنگ دارای پورت سریالی غنی، منابع شبکه، رابط GPIO عمومی و غیره هستند و در عین حال دارای ظرفیت پردازش قوی هستند. با ترکیب نرم افزار پروتکل ارتباطات ModBus، به راحتی می توان پلتفرم های کاربردی را برای کنترل اصلی (Master) و دستگاه (Slave) سازگار با مشخصات ارتباطات ModBus تشکیل داد. برای روش اصلی ارتباطات ModBus، بسته پروتکل ارتباطات ModBus به دو بخش جداگانه تقسیم می شود: پروتکل اصلی ModBus (به اختصار modbus_Master) و پروتکل جانب دستگاه ModBus (به اختصار modbus_Slave). در حال حاضر نرم افزار پروتکل ارتباطات ModBus در محیط WinCE اجرا می شود و همه به صورت تابع C به علاوه کتابخانه LIB استاتیک به مشتریان ارائه می شود. ویژگی های اصلی آن عبارتند از:

مناسب برای کاربردهای صنعتی در زمان واقعی

پشتیبانی از برنامه های پروتکل ModBus بر اساس پورت سریال یا برنامه های پروتکل ModBus بر اساس TCP

مدل انتقال RTU

پشتیبانی از اکثر عملیات کد عملکرد Modbus، از جمله عملیات بیتی برای ورودی کویل، سوئیچ های جداگانه و عملیات بایت برای رجیستر

پشتیبانی از آدرس پخش

قابلیت تنظیم انعطاف پذیری زمان بندی ارتباطات ModBus

• اطلاعات دقیق در مورد کد خطای پروتکل انتقال در ارتباطات


نمودار ارتباطات نرم افزار پروتکل ModBus


پشتیبانی از پروتکل ModBus

کد عملکرد

توضیحات

1

خواندن یک کویل

2

خواندن ورودی جداگانه

3

خواندن چندین ثبت

4

خواندن ثبت ورودی

5

نوشتن یک کویل

6

نوشتن یک ثبت

15

نوشتن چندین کویل

16

نوشتن چندین ثبت

22

مسدود کردن ثبت

23

خواندن/نوشتن ثبت


روش های اساسی استفاده از نرم افزار

برای تسهیل استفاده از برنامه ها و حفظ فرم های کد سازگار برای رسانه های مختلف ارتباطات، توابع API در نرم افزار پروتکل ModBus (از جمله modbus_Master و modbus_Slave) ارائه شده توسط اینگترانس می تواند از پروتکل های Modbus مبتنی بر پورت سریال و TCP پشتیبانی کند، برنامه ها فقط باید با پارامترهای مختلف در هنگام فراخوان توابع آغازی تمایز کنند، برای توضیحات در مورد پارامترهای مربوطه به فایل های سر مربوطه مراجعه کنید: modbus_Master.h و modbus_Slave.h


برنامه های کاربردی modbus_master

کاربرد به عنوان حالت مشتری Modbus، عمدتا آماده سازی درخواست و ارسال درخواست به دستگاه سرور و انتظار پاسخ سرور است. در هنگام توسعه چنین برنامه هایی، کاربران می توانند به ادبیات استاندارد Modbus و دستورالعمل داده های رابط ارتباطی دستگاه های متهم مراجعه کنند و به طور مستقیم با استفاده از بسته modbus_Master ارائه شده توسط اینگترانس توابع API عملیاتی مربوطه را برای تامین دسترسی و کنترل دستگاه های سرور فراهم کنند. برای توسعه چنین برنامه‌هایی، کاربران فقط باید از modbus_master.h/modbus_master.lib استفاده کنند.


استفاده از modbus_slave

کاربرد به عنوان مدل سرور ModBus، عمدتا نیاز به تجزیه و تحلیل و پاسخ به پیام های برنامه ModBus را اجرا می کند، اما این فقط بخشی از کل ارتباطات ModBus است، بخش دیگر نیاز به دسترسی به داده های برنامه است، این بخش محتوا نیاز به تعریف خود کاربر دارد. به منظور سهولت استفاده از مشتری، بارگذاری خودکار این توابع رابط کاربری از طریق اشاره کننده تابع در بسته modbus_Slave انجام می شود که پردازش داده های برنامه کاربری را با پاسخ پیام برنامه ModBus مرتبط می کند. کاربران فقط باید این توابع رابط را بر اساس نیازهای خود تعریف کنند تا قابلیت های مربوطه را اجرا کنند، و تعریف خاص هر توابع از طریق یک فایل CPP اختصاصی به نام DataProvider.cpp اجرا می شود.


از این رو می توان دید که برای توسعه این نوع برنامه، باید دو بخش از محتوا را شامل شود، بخشی از آن تابع API تعریف شده توسط modbus_slave.h/ modbus_slave.lib است. بخش دیگر تابع رابط داده های کاربر است که توسط DataProvider.h / DataProvider.cpp تعریف شده است، که در آن تابع رابط نیاز به پیاده سازی خاص در DataProvider.cpp دارد.


برای پاسخ به پیام های برنامه ModBus به موقع، توجه داشته باشید که یک رشته باید در هنگام برنامه نویسی طراحی شود که تابع اجرایی modbus_Slave را مکررا فراخواند، که حالت مسدود است.


به عنوان مثال:

1- راه اندازی پروتکل Modbus

hPort = mbusSlave_StartupServer(_T('*')، 1، 10000، mbusSlave_Interface )؛

یا...

hPort=mbusSlave_StartupServer(_T)کام3: 9600-8-1-0)، 1,10000، mbusSlave_Interface )؛


(2) فراخوان تابع اجرایی Serverloop برای پاسخ به درخواست

در حالی که( 1 )

{

//فراخوان تابع اجرایی برای تجزیه و تحلیل و پاسخ به پیام های ModBus.

نتیجه = mbusSlave_ServerLoop( hPort )؛

    اگر( نتیجه!=0 )//بررسی بازگشت خطا

{

      //رسیدگی به خطا: این مثال یک پیام متنی برای دریافت و چاپ کد خطا است

wcscpy( szText، mbusSlave_GetErrorText( نتیجه ) ؛

i1 = wcslen( szText )؛

      اگر( i1>0 )

{

wcstombs( strText، szText، i1 )؛

چاپ(کد خطا: %s! n n n n n n n n n n n n n n n n n nاسترتکس)

}

}

}


نرم افزار پروتکل ارتباطات ModBus که قبلاً توسط اینگستانگ ارائه می شد، به صورت تابع C به علاوه کتابخانه های استاتیک (فایل modbus.lib یا libmodbus.a) به مشتریان ارائه می شد. با استفاده فزاینده از مشتریان، پروتکل ارتباطات ModBus، به ویژه نرم افزار پروتکل ماستر (به اختصار modbus_Master) را به عنوان یک کتابخانه پویا (فایل modbus_Master.dll یا libmbusmaster.so) در سیستم هسته مادربورد کنترل صنعتی جاسازی شده اینگشن پیش نصب کرده است تا فراخوان برنامه های مشتری را تسهیل کند. مادربورد های کنترل شده با پروتکل Modbus شامل تمام مادربورد های سری ESM (ESM6802، ESM6800، ESM335x، ESM928x و غیره) است.


مرجع های مرتبط


برنامه های کاربردی جمع آوری حلقه جریان 4 تا 20mA پروتکل ارتباطات Modbus تحت WinCE

پروتکل Modbus در WinCE پشتیبانی از نرم افزار Modbus

پروتکل Modbus برای لینوکس ESM6802 پشتیبانی از توسعه برنامه های Qt MODBUS

پیش نصب پروتکل Modbus در مادربورد
بازجویی آنلاین
  • Contacts
  • شرکت
  • تلفن
  • ایمیل
  • WeChatCity name (optional, probably does not need a translation)
  • رمز بررسی
  • محتوای پیام

عمليات موفق!

عمليات موفق!

عمليات موفق!